package com.example.androidroomdemo.Dao;

import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import androidx.room.Update;

import com.example.androidroomdemo.Entities.User;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: tjf
 * @date: 2022-10-31
 * @desc： 数据库增删改查方法
 */
@Dao
public interface UserDao {

    //查询所有
    @Query("SELECT * FROM LOGINUSER")
    List<User> queryAllUser();

    //根据姓名参数查询
    @Query("SELECT * FROM LOGINUSER WHERE name=:name")
    User queryFindUser(String name);

    // 添加单个数据
    @Insert
    void addUser(User user);

    // 批量添加数据
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    void addBatchUser(List<User> list);

    // 更新某个数据
    @Update
    void updateUser(User user);

    // 更新年龄为50 的所有数据
    @Query("UPDATE LOGINUSER set age='50'")
    void updateAll();

    //删除某条数据
    @Delete
    void deleteSingle(User user);

    //删除表中所有数据
    @Query("DELETE FROM LOGINUSER")
    void deleteAllUser();

}
